import globalStore from '../store/global'

/**
 * 登录检查工具类
 */
class loginStatusUtils {
  /**
   * 检查登录状态并显示提示框
   * @param {Object} pageInstance - 页面实例，用于访问页面的数据和方法
   * @returns {boolean} - 返回是否已登录
   */
  static checkLoginAndShowConfirm(pageInstance) {
    const loginStatus = globalStore.getLoginStype();
    if (!loginStatus) {
      // 确保页面有必要的数据和方法   showLoginConfirm是调用页面中定义是否展示登录提示框的变量
      if (!pageInstance.showLoginConfirm) {
        pageInstance.$set(pageInstance, 'showLoginConfirm', false);
      }
      
      // 显示登录提示框
      pageInstance.showLoginConfirm = true;
      
      // 如果页面没有定义处理方法，则定义默认的处理方法
      if (!pageInstance.handleLoginConfirm) {
        pageInstance.handleLoginConfirm = () => {
          uni.navigateTo({
            url: '/pages/login/login'
          });
        };
      }
      
      if (!pageInstance.handleLoginCancel) {
        pageInstance.handleLoginCancel = () => {
          pageInstance.showLoginConfirm = false;
        };
      }
    }
    return loginStatus;
  }
}

export default loginStatusUtils;